package ncov.model;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import ncov.converter.HealthConverter;
import ncov.converter.TemperatureConverter;

import java.io.Serializable;
import java.util.Date;

/**
 * 登记信息 实体类
 *
 * @author makejava
 * @since 2020-06-04 15:48:50
 */
@ContentRowHeight(20)
@HeadRowHeight(18)
@ColumnWidth(15)
public class ReportRecord implements Serializable {
    @ExcelIgnore
    private Integer id;
    /**
    * 学号ID唯一
    */
    @ExcelProperty("学号")
    private String stuId;
    /**
    * 姓名
    */
    @ColumnWidth(10)
    @ExcelProperty("姓名")
    private String name;
    /**
    * 所属部门
    */
    @ExcelProperty("部门")
    private String department;
    /**
    * 所在班级
    */
    @ExcelProperty("班级")
    @ColumnWidth(20)
    private String inClass;
    /**
    * 目前所在地
    */
    @ExcelProperty("目前所在地")
    @ColumnWidth(25)
    private String currentDistrict;
    /**
    * 目前身体状况(-1:感染 0:正常 1:疑似)
    */
    @ExcelProperty(value = "健康状况", converter = HealthConverter.class)
    private Integer currentHealth;
    /**
    * 当前体温(基准：37.5)
    */
    @ExcelProperty(value = "当前体温", converter = TemperatureConverter.class)
    private Float currentTemperature;
    /**
    * 创建时间
    */
    @ExcelIgnore
    private Date createTime;
    /**
    * 记录更新时间
    */
    @ColumnWidth(30)
    @DateTimeFormat("yyyy年MM月dd日HH时mm分ss秒")
    @ExcelProperty("更新时间")
    private Date updateTime;

    public ReportRecord() {

    }

    public ReportRecord(Integer id, String stuId, String name, String department, String inClass, String currentDistrict, Integer currentHealth, Float currentTemperature, Date createTime, Date updateTime) {
        this.id = id;
        this.stuId = stuId;
        this.name = name;
        this.department = department;
        this.inClass = inClass;
        this.currentDistrict = currentDistrict;
        this.currentHealth = currentHealth;
        this.currentTemperature = currentTemperature;
        this.createTime = createTime;
        this.updateTime = updateTime;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
    
    public String getStuId() {
        return stuId;
    }

    public void setStuId(String stuId) {
        this.stuId = stuId;
    }
    
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }
    
    public String getInClass() {
        return inClass;
    }

    public void setInClass(String inClass) {
        this.inClass = inClass;
    }
    
    public String getCurrentDistrict() {
        return currentDistrict;
    }

    public void setCurrentDistrict(String currentDistrict) {
        this.currentDistrict = currentDistrict;
    }
    
    public Integer getCurrentHealth() {
        return currentHealth;
    }

    public void setCurrentHealth(Integer currentHealth) {
        this.currentHealth = currentHealth;
    }
    
    public Float getCurrentTemperature() {
        return currentTemperature;
    }

    public void setCurrentTemperature(Float currentTemperature) {
        this.currentTemperature = currentTemperature;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "ReportRecord{" +
                "id=" + id +
                ", stuId='" + stuId + '\'' +
                ", name='" + name + '\'' +
                ", department='" + department + '\'' +
                ", inClass='" + inClass + '\'' +
                ", currentDistrict='" + currentDistrict + '\'' +
                ", currentHealth=" + currentHealth +
                ", currentTemperature=" + currentTemperature +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                '}';
    }
}